home *** CD-ROM | disk | FTP | other *** search
Wrap
package sun.print; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.Dialog; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.GraphicsConfiguration; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.security.AccessController; import java.util.MissingResourceException; import java.util.ResourceBundle; import javax.print.DocFlavor; import javax.print.PrintService; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.attribute.standard.Destination; import javax.swing.AbstractButton; import javax.swing.ActionMap; import javax.swing.ButtonGroup; import javax.swing.InputMap; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JDialog; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTabbedPane; import javax.swing.KeyStroke; import javax.swing.border.EmptyBorder; public class ServiceDialog extends JDialog implements ActionListener { public static final int WAITING = 0; public static final int APPROVE = 1; public static final int CANCEL = 2; private static final String strBundle = "sun.print.resources.serviceui"; private static final Insets panelInsets = new Insets(6, 6, 6, 6); private static final Insets compInsets = new Insets(3, 6, 3, 6); private static ResourceBundle messageRB; private JTabbedPane tpTabs; private JButton btnCancel; private JButton btnApprove; private PrintService[] services; private int defaultServiceIndex; private PrintRequestAttributeSet asOriginal; private HashPrintRequestAttributeSet asCurrent; private PrintService psCurrent; private DocFlavor docFlavor; private int status; private ValidatingFileChooser jfc; private GeneralPanel pnlGeneral; private PageSetupPanel pnlPageSetup; private AppearancePanel pnlAppearance; private boolean isAWT = false; public ServiceDialog(GraphicsConfiguration var1, int var2, int var3, PrintService[] var4, int var5, DocFlavor var6, PrintRequestAttributeSet var7, Dialog var8) { super(var8, getMsg("dialog.printtitle"), true, var1); this.initPrintDialog(var2, var3, var4, var5, var6, var7); } public ServiceDialog(GraphicsConfiguration var1, int var2, int var3, PrintService[] var4, int var5, DocFlavor var6, PrintRequestAttributeSet var7, Frame var8) { super(var8, getMsg("dialog.printtitle"), true, var1); this.initPrintDialog(var2, var3, var4, var5, var6, var7); } void initPrintDialog(int var1, int var2, PrintService[] var3, int var4, DocFlavor var5, PrintRequestAttributeSet var6) { this.services = var3; this.defaultServiceIndex = var4; this.asOriginal = var6; this.asCurrent = new HashPrintRequestAttributeSet(var6); this.psCurrent = var3[var4]; this.docFlavor = var5; SunPageSelection var7 = (SunPageSelection)var6.get(SunPageSelection.class); if (var7 != null) { this.isAWT = true; } Container var8 = this.getContentPane(); var8.setLayout(new BorderLayout()); this.tpTabs = new JTabbedPane(); this.tpTabs.setBorder(new EmptyBorder(5, 5, 5, 5)); String var9 = getMsg("tab.general"); int var10 = getVKMnemonic("tab.general"); this.pnlGeneral = new GeneralPanel(this); this.tpTabs.add(var9, this.pnlGeneral); this.tpTabs.setMnemonicAt(0, var10); String var11 = getMsg("tab.pagesetup"); int var12 = getVKMnemonic("tab.pagesetup"); this.pnlPageSetup = new PageSetupPanel(this); this.tpTabs.add(var11, this.pnlPageSetup); this.tpTabs.setMnemonicAt(1, var12); String var13 = getMsg("tab.appearance"); int var14 = getVKMnemonic("tab.appearance"); this.pnlAppearance = new AppearancePanel(this); this.tpTabs.add(var13, this.pnlAppearance); this.tpTabs.setMnemonicAt(2, var14); var8.add(this.tpTabs, "Center"); this.updatePanels(); JPanel var15 = new JPanel(new FlowLayout(4)); this.btnApprove = createExitButton("button.print", this); var15.add(this.btnApprove); this.getRootPane().setDefaultButton(this.btnApprove); this.btnCancel = createExitButton("button.cancel", this); this.handleEscKey(this.btnCancel); var15.add(this.btnCancel); var8.add(var15, "South"); this.addWindowListener(new 1(this)); this.getAccessibleContext().setAccessibleDescription(getMsg("dialog.printtitle")); this.setResizable(false); this.setLocation(var1, var2); this.pack(); } public ServiceDialog(GraphicsConfiguration var1, int var2, int var3, PrintService var4, DocFlavor var5, PrintRequestAttributeSet var6, Dialog var7) { super(var7, getMsg("dialog.pstitle"), true, var1); this.initPageDialog(var2, var3, var4, var5, var6); } public ServiceDialog(GraphicsConfiguration var1, int var2, int var3, PrintService var4, DocFlavor var5, PrintRequestAttributeSet var6, Frame var7) { super(var7, getMsg("dialog.pstitle"), true, var1); this.initPageDialog(var2, var3, var4, var5, var6); } void initPageDialog(int var1, int var2, PrintService var3, DocFlavor var4, PrintRequestAttributeSet var5) { this.psCurrent = var3; this.docFlavor = var4; this.asOriginal = var5; this.asCurrent = new HashPrintRequestAttributeSet(var5); Container var6 = this.getContentPane(); var6.setLayout(new BorderLayout()); this.pnlPageSetup = new PageSetupPanel(this); var6.add(this.pnlPageSetup, "Center"); this.pnlPageSetup.updateInfo(); JPanel var7 = new JPanel(new FlowLayout(4)); this.btnApprove = createExitButton("button.ok", this); var7.add(this.btnApprove); this.getRootPane().setDefaultButton(this.btnApprove); this.btnCancel = createExitButton("button.cancel", this); this.handleEscKey(this.btnCancel); var7.add(this.btnCancel); var6.add(var7, "South"); this.addWindowListener(new 2(this)); this.getAccessibleContext().setAccessibleDescription(getMsg("dialog.pstitle")); this.setResizable(false); this.setLocation(var1, var2); this.pack(); } private void handleEscKey(JButton var1) { 3 var2 = new 3(this); KeyStroke var3 = KeyStroke.getKeyStroke('\u001b', false); InputMap var4 = var1.getInputMap(2); ActionMap var5 = var1.getActionMap(); if (var4 != null && var5 != null) { var4.put(var3, "cancel"); var5.put("cancel", var2); } } public int getStatus() { return this.status; } public PrintRequestAttributeSet getAttributes() { return (PrintRequestAttributeSet)(this.status == 1 ? this.asCurrent : this.asOriginal); } public PrintService getPrintService() { return this.status == 1 ? this.psCurrent : null; } public void dispose(int var1) { this.status = var1; super.dispose(); } public void actionPerformed(ActionEvent var1) { Object var2 = var1.getSource(); boolean var3 = false; if (var2 == this.btnApprove) { var3 = true; if (this.pnlGeneral != null) { if (this.pnlGeneral.isPrintToFileRequested()) { var3 = this.showFileChooser(); } else { this.asCurrent.remove(Destination.class); } } } this.dispose(var3 ? 1 : 2); } private boolean showFileChooser() { Class var1 = Destination.class; Destination var2 = (Destination)this.asCurrent.get(var1); if (var2 == null) { var2 = (Destination)this.asOriginal.get(var1); if (var2 == null) { var2 = (Destination)this.psCurrent.getDefaultAttributeValue(var1); if (var2 == null) { try { var2 = new Destination(new URI("file:out.prn")); } catch (URISyntaxException var9) { } } } } File var3; if (var2 != null) { try { var3 = new File(var2.getURI()); } catch (Exception var8) { var3 = new File("out.prn"); } } else { var3 = new File("out.prn"); } ValidatingFileChooser var4 = new ValidatingFileChooser(this, (1)null); var4.setApproveButtonText(getMsg("button.ok")); var4.setDialogTitle(getMsg("dialog.printtofile")); var4.setSelectedFile(var3); int var5 = var4.showDialog(this, (String)null); if (var5 == 0) { var3 = var4.getSelectedFile(); try { this.asCurrent.add(new Destination(var3.toURI())); } catch (Exception var7) { this.asCurrent.remove(var1); } } else { this.asCurrent.remove(var1); } return var5 == 0; } private void updatePanels() { this.pnlGeneral.updateInfo(); this.pnlPageSetup.updateInfo(); this.pnlAppearance.updateInfo(); } public static void initResource() { AccessController.doPrivileged(new 4()); } public static String getMsg(String var0) { try { return messageRB.getString(var0); } catch (MissingResourceException var2) { throw new Error("Fatal: Resource for ServiceUI is broken; there is no " + var0 + " key in resource"); } } private static char getMnemonic(String var0) { String var1 = getMsg(var0 + ".mnemonic"); return var1 != null && var1.length() > 0 ? var1.charAt(0) : '\u0000'; } private static int getVKMnemonic(String var0) { String var1 = getMsg(var0 + ".vkMnemonic"); if (var1 != null && var1.length() > 0) { try { return Integer.parseInt(var1); } catch (NumberFormatException var3) { } } return 0; } private static URL getImageResource(String var0) { URL var1 = (URL)AccessController.doPrivileged(new 5(var0)); if (var1 == null) { throw new Error("Fatal: Resource for ServiceUI is broken; there is no " + var0 + " key in resource"); } else { return var1; } } private static JButton createButton(String var0, ActionListener var1) { JButton var2 = new JButton(getMsg(var0)); var2.setMnemonic(getMnemonic(var0)); var2.addActionListener(var1); return var2; } private static JButton createExitButton(String var0, ActionListener var1) { String var2 = getMsg(var0); JButton var3 = new JButton(var2); var3.addActionListener(var1); var3.getAccessibleContext().setAccessibleDescription(var2); return var3; } private static JCheckBox createCheckBox(String var0, ActionListener var1) { JCheckBox var2 = new JCheckBox(getMsg(var0)); var2.setMnemonic(getMnemonic(var0)); var2.addActionListener(var1); return var2; } private static JRadioButton createRadioButton(String var0, ActionListener var1) { JRadioButton var2 = new JRadioButton(getMsg(var0)); var2.setMnemonic(getMnemonic(var0)); var2.addActionListener(var1); return var2; } public static void showNoPrintService(GraphicsConfiguration var0) { Frame var1 = new Frame(var0); JOptionPane.showMessageDialog(var1, getMsg("dialog.noprintermsg")); var1.dispose(); } private static void addToGB(Component var0, Container var1, GridBagLayout var2, GridBagConstraints var3) { var2.setConstraints(var0, var3); var1.add(var0); } private static void addToBG(AbstractButton var0, Container var1, ButtonGroup var2) { var2.add(var0); var1.add(var0); } // $FF: synthetic method static ResourceBundle access$102(ResourceBundle var0) { messageRB = var0; return var0; } // $FF: synthetic method static Insets access$200() { return panelInsets; } // $FF: synthetic method static void access$300(Component var0, Container var1, GridBagLayout var2, GridBagConstraints var3) { addToGB(var0, var1, var2, var3); } // $FF: synthetic method static PrintService access$400(ServiceDialog var0) { return var0.psCurrent; } // $FF: synthetic method static PrintService[] access$500(ServiceDialog var0) { return var0.services; } // $FF: synthetic method static int access$600(ServiceDialog var0) { return var0.defaultServiceIndex; } // $FF: synthetic method static Insets access$700() { return compInsets; } // $FF: synthetic method static char access$800(String var0) { return getMnemonic(var0); } // $FF: synthetic method static JButton access$900(String var0, ActionListener var1) { return createButton(var0, var1); } // $FF: synthetic method static JCheckBox access$1000(String var0, ActionListener var1) { return createCheckBox(var0, var1); } // $FF: synthetic method static PrintService access$402(ServiceDialog var0, PrintService var1) { return var0.psCurrent = var1; } // $FF: synthetic method static PrintRequestAttributeSet access$1100(ServiceDialog var0) { return var0.asOriginal; } // $FF: synthetic method static HashPrintRequestAttributeSet access$1200(ServiceDialog var0) { return var0.asCurrent; } // $FF: synthetic method static void access$1300(ServiceDialog var0) { var0.updatePanels(); } // $FF: synthetic method static JRadioButton access$1400(String var0, ActionListener var1) { return createRadioButton(var0, var1); } // $FF: synthetic method static boolean access$1500(ServiceDialog var0) { return var0.isAWT; } // $FF: synthetic method static DocFlavor access$1600(ServiceDialog var0) { return var0.docFlavor; } // $FF: synthetic method static ResourceBundle access$100() { return messageRB; } // $FF: synthetic method static URL access$1700(String var0) { return getImageResource(var0); } // $FF: synthetic method static void access$1800(AbstractButton var0, Container var1, ButtonGroup var2) { addToBG(var0, var1, var2); } static { initResource(); } }